It is not very common for a struct to have base classes. When they do, by default, they will have public inheritance. Since this is not a fact
known by everybody, it’s usually better to be explicit about the visibility of base classes in a struct.
Noncompliant code example
class B {
};
struct C : B {
};
Compliant solution
class B {
};
struct C : public B { // Or private, if it was public by mistake
};